From 088baaec31705d2efa6e66d7ab14139c154320c2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 9 Oct 2009 07:08:54 +0200 Subject: [PATCH] Make selecting the last character work again This broke when I added link support. git bisect helped to track it down. --- gtk/gtklabel.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 4577eec3b1..acf7f53bfa 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -3841,6 +3841,7 @@ get_layout_index (GtkLabel *label, gint trailing = 0; const gchar *cluster; const gchar *cluster_end; + gboolean inside; *index = 0; @@ -3851,24 +3852,21 @@ get_layout_index (GtkLabel *label, x *= PANGO_SCALE; y *= PANGO_SCALE; - if (pango_layout_xy_to_index (label->layout, - x, y, - index, &trailing)) - { - cluster = label->text + *index; - cluster_end = cluster; - while (trailing) - { - cluster_end = g_utf8_next_char (cluster_end); - --trailing; - } - - *index += (cluster_end - cluster); + inside = pango_layout_xy_to_index (label->layout, + x, y, + index, &trailing); - return TRUE; + cluster = label->text + *index; + cluster_end = cluster; + while (trailing) + { + cluster_end = g_utf8_next_char (cluster_end); + --trailing; } - return FALSE; + *index += (cluster_end - cluster); + + return inside; } static void -- 2.30.2